package com.example.springbootsenior.StrategyMode.controller;

import com.example.springbootsenior.StrategyMode.PayServiceFactory;
import com.example.springbootsenior.StrategyMode.service.PayService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

/**
 * 功能描述:
 * 根据前端选择的支付方式进行支付
 *
 * @param payTypeCode 支付方式内部编码code
 */
@RestController
public class PayController {
    @GetMapping("/pay/{payTypeCode}")
    public String pay(@PathVariable String payTypeCode) throws Exception {

        //根据支付编码获取支付服务
        PayService payService = PayServiceFactory.getPayService(payTypeCode);

        //实际的支付业务操作
        payService.pay();
        return "success";
    }
}
